package com.rybbaby.tss.front.tssClassChangeRecord.entity;

import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.io.Serializable;

/**
 * @description  班级变动表
 * 
 * @author 雷春琼
 * 
 * @createDate 2017-08-09 下午11:50:14
 */
@Entity
@Table(name = "tss_class_change_record")
@DynamicUpdate(true)
@DynamicInsert(true)
public class TssClassChangeRecord implements Serializable {

	private static final long serialVersionUID = -3743096004737887485L;

	/** 主键 **/
	private String id;
	/** 班级id **/
	private String classId;
	/** 变更后主体json **/
	private String afterJsonInfo;
	/** 变更前主体json **/
	private String beforeJsonInfo;
	/** 当前操作者id **/
	private String adminUserId;
	/** 创建时间 **/
	private java.sql.Timestamp createTime;
	/** 版本 **/
	private Integer version;



	/**
	 * 方法: 取得主键
	 *
	 * @return java.lang.String 主键
	 */
	@Id
	@GeneratedValue(generator = "tss_class_change_recordIDGenerator" , strategy = GenerationType.AUTO)
	@GenericGenerator(name = "tss_class_change_recordIDGenerator" , strategy = "uuid")
	@Column(name = "id", nullable= false, length = 32)
	public String getId() {
		return this.id;
	}
	
	/**
	 * 方法: 设置主键
	 *
	 * @param id 主键
	 */
	public void setId(String id) {
		this.id = id;
	}

	
	/**
	 * 方法: 取得当前操作者id
	 *
	 * @return java.lang.String 当前操作者id
	 */
	@Column(name = "adminUserId", nullable= true, length = 32)
	public String getAdminUserId() {
		return this.adminUserId;
	}
	
	/**
	 * 方法: 设置当前操作者id
	 *
	 * @param adminUserId 当前操作者id
	 */
	public void setAdminUserId(String adminUserId) {
		this.adminUserId = adminUserId;
	}
	

	/**
	 * 方法: 取得创建时间
	 *
	 * @return java.sql.Timestamp 创建时间
	 */
	@Column(name = "createTime", nullable= true, length = 19)
	public java.sql.Timestamp getCreateTime() {
		return this.createTime;
	}
	
	/**
	 * 方法: 设置创建时间
	 *
	 * @param createTime 创建时间
	 */
	public void setCreateTime(java.sql.Timestamp createTime) {
		this.createTime = createTime;
	}

	/**
	 * 方法: 取得选班人数
	 *
	 * @return java.lang.Integer 选班人数
	 */
    @Version
	@Column(name = "version", nullable= true, length = 11)
	public Integer getVersion() {
		return this.version;
	}

	@Column(name = "classId", nullable= true, length = 32)
	public String getClassId() {
		return classId;
	}

	public void setClassId(String classId) {
		this.classId = classId;
	}


	@Column(name = "afterJsonInfo", nullable= true)
	public String getAfterJsonInfo() {
		return afterJsonInfo;
	}

	public void setAfterJsonInfo(String afterJsonInfo) {
		this.afterJsonInfo = afterJsonInfo;
	}
	@Column(name = "beforeJsonInfo", nullable= true)
	public String getBeforeJsonInfo() {
		return beforeJsonInfo;
	}

	public void setBeforeJsonInfo(String beforeJsonInfo) {
		this.beforeJsonInfo = beforeJsonInfo;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}
}